A. Field of the Invention
This invention relates to a medium-independent system for encoding/decoding binary data and control signals serially transmitted between two or more communicating stations and is suitable for use in both local and long haul data communication systems. More particularly, this invention relates to a run-bounded or run-length-limited, self-clocking coding system which may be used in local or long haul networks or in other data communication environments and is well adapted to baseband transmission on a variety of physical media, including fiber optics, coaxial cables and twisted pairs, and may be employed in a wide variety of systems where stations are interconnected point-to-point, or by way of a bus, star, loop or ring.
B. Prior Art
Run-length-limited group codes are well known and the characteristics of several of them are described in the IEEE Transactions on Magnetics, Vol. MAG-12, No. 6, Nov. 1976, at pages 740-742. While much work has been done to optimize such codes for use in magnetic recording systems, comparatively little work has been done to optimize such codes for use in high speed serialized data communications systems where the optimum characteristics of a code are different.
Run-length-limited codes are designed to exhibit various preferred characteristics depending on the environment in which the code is utilized. The codes are usually constrained such that an encoded sequence of signals can have no more than k consecutive binary zeros between two successive binary ones, and must have at least d binary zeros between consecutive binary ones. By limiting the value of d, the codes are made self-clocking. That is, the signal transitions between the zeros and ones can be utilized at a receiving station to derive or recover a clock signal from the stream of data bits.
Among the known codes is what is termed the 4/5-rate NRZI code in which a symbol in a first code of m=4 binary bits is encoded into a second code of n=5 binary bits, the signals of the second code being in the Non-Return To Zero-Invert on ones (NRZI) format.
The ratio m/n is a measure of the coding efficiency and is especially important in serial communications systems because it determines the data transfer rate. For example, in a serial system where the rate of occurrence of the binary bits in the second code is 125 megabits/sec., if the coding efficiency is m/n=0.5 then the effective rate of data transfer in the first code is reduced to 62.5 megabits/sec.
Another factor to be considered when designing a code for serial data transmission is the maximum cumulative DC component placed on the transmission medium by a sequence of signals. Because the stations of a high speed data transmission system are usually separated by non-trivial distances it is not practical to provide a common ground. Therefore, in balanced transmission systems with AC coupling signalling is accomplished by shifting the signal level by equal amounts above or below some nominal level as a manifestation of the encoded binary bits. Ideally, the maximum DC component is zero. That is, over a given interval the magnitude of the signal averages out to a value equal to the nominal value. Some codes yield a maximum DC component of zero. For example, in the Manchester code each binary bit is represented by a signal level which is above the nominal level for one cell interval and below the nominal level for a second cell interval, the relative phases of the two levels representing a binary zero or one. A "cell" is the interval of time required to signal one bit of encoded data and since a cell in the Manchester code is equal to twice the interval required to signal an uncoded binary bit, the coding efficiency m/n is only 50%.
Other codes such as the straight NRZ and NRZI codes provide 100% coding efficiency but are unsuitable for serial high speed data communications systems because they permit a large cumulative DC deviation and because the number of zeros between consecutive ones is not limited thereby prohibiting self-clocking. The self-clocking deficiency of the NRZI code may be overcome by inserting a data bit or transition from one signal level to the other at predetermined intervals if a transition has not occurred in the stream of data bits. However, this insertion results in a variable data rate with a reduced (and variable) coding efficiency.
A further consideration in the design and selection of a code is the complexity of the circuitry required to implement the encoding and decoding functions.
Table I summarizes the data rate, coding efficiency, maximum cumulative DC deviation and maximum transition interval d for several codes. From Table I and the foregoing discussion it is evident that there must be some balancing of the various code requirements of coding efficiency, maximum cumulative DC deviation, circuit complexity and self-clocking capability in order to obtain a suitable code meeting the requirements of a given system design.
TABLE I ______________________________________ Date Maximum Rate Coding Maximum Transition Code (Megabit/ Effic- Cumulative Interval Type Sec) iency DC Deviation (Code Cells) ______________________________________ NRZ 125 100% 50% No Limit NRZI 125 100% 50% No Limit Bit Insertion 93.75 75 to to 30% 3 125 100% Manchester 62.5 50% 0% 1 Group Code(4/5)* 100 80% 10% 3 ______________________________________ *Subject of present invention
It has been determined that most high speed serial data transmission systems can function quite well with minimum degradation of receiver performance if the cumulative DC deviation averaged over the transmission interval does not exceed 10% of the nominal level. The present invention provides a code which not only meets this criterion but also has a high code efficiency and a self-clocking capability and can be readily implemented by circuits of simple design.
As previously stated, many codes of the prior art have been developed specifically for magnetic recording systems where function codes are not considered, and the codes which have been used in high speed serial transmission systems have not taken into account the effect of function or control signals, that is, the signals which change the activity state of the system. The present invention provides a code wherein data signalling and most function or control signalling conforms to the same constraints so that the coding efficiency is not diminished, the maximum cumulative DC deviation does not exceed 10% when averaged over a transmission, and the control and data codes are self-clocking.